Regarding coding style, gjs is moving in a direction that departs quite
significantly from the established style, in particular when indenting
multi-line array/object literals or method arguments:
Currently we are keeping those elements aligned, while the gjs rules now
expect them to use the regular 4-space indentation.
There are certainly good arguments that can be made for that move - it's
much less prone to leading to overly-long lines, and matches popluar JS
styles elsewhere. But switching coding style implies large diffs which
interfere with git-blame and friends, so in order to allow for a more
gradual change, add a separate set of "legacy" rules that match more
closely the style we would expect up to now.
It also disables the rules for quotes and template strings - the former
because we cannot match the current style to use double-quotes for
translatable strings and single-quotes otherwise, the latter because
template strings are still relatively new, so we haven't adopted them
yet.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/609
--- /dev/null
+{
+ "rules": {
+ "indent": [
+ "error",
+ 4,
+ {
+ "ignoredNodes": [
+ "ConditionalExpression",
+ "CallExpression > ArrowFunctionExpression",
+ "CallExpression[callee.object.name=GObject][callee.property.name=registerClass] > ClassExpression:first-child"
+ ],
+ "CallExpression": { "arguments": "first" },
+ "ArrayExpression": "first",
+ "ObjectExpression": "first",
+ "MemberExpression": "off"
+ }
+ ],
+ "prefer-template": "off",
+ "quotes": "off"
+ }
+}